/*
*********************************************************************************************************
*                                     MICRIUM BOARD SUPPORT SUPPORT
*
*                          (c) Copyright 2003-2012; Micrium, Inc.; Weston, FL
*
*               All rights reserved.  Protected by international copyright laws.
*               Knowledge of the source code may NOT be used to develop a similar product.
*               Please help us continue to provide the Embedded community with the finest
*               software available.  Your honesty is greatly appreciated
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                        BOARD SUPPORT PACKAGE
*                                       SERIAL (UART) INTERFACE
*
*                                     ST Microelectronics STM32
*                                              on the
*
*                                           STM3220G-EVAL
*                                         Evaluation Board
*
* Filename      : bsp_ser.h
* Version       : V1.00
* Programmer(s) : SL
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                                 MODULE
*
* Note(s) : (1) This header file is protected from multiple pre-processor inclusion through use of the
*               BSP_SER present pre-processor macro definition.
*********************************************************************************************************
*/

#ifndef  BSP_SER_PRESENT
#define  BSP_SER_PRESENT


/*
*********************************************************************************************************
*                                              EXTERNS
*********************************************************************************************************
*/

#ifdef   BSP_SER_MODULE
#define  BSP_SER_EXT
#else
#define  BSP_SER  extern
#endif


/*
*********************************************************************************************************
*                                               DEFINES
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                               INCLUDES
*********************************************************************************************************
*/

#include  <app_cfg.h>


/*
*********************************************************************************************************
*                                          GLOBAL VARIABLES
*********************************************************************************************************
*/

#define  BSP_SER_COMM_UART_NONE                0xFF

#define  BSP_SER_COMM_UART_01                     1
#define  BSP_SER_COMM_UART_02                     2

#define  BSP_SER_COMM_BAUDRATE                 115200

/*
*********************************************************************************************************
*                                               MACRO'S
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                              DATA TYPES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                            FUNCTION PROTOTYPES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                     INTERRUPT CONTROLLER FUNCTIONS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                        BACKWARDS COMPATIBILITY
*********************************************************************************************************
*/

#define  Ser_Init           BSP_Ser_Init
#define  Ser_WrByte         BSP_Ser_WrByte
#define  Ser_WrStr          BSP_Ser_WrStr
#define  Ser_RdByte         BSP_Ser_RdByte
#define  Ser_Printf         BSP_Ser_Printf


/*
*********************************************************************************************************
*                                             RS-232 SERVICES
*********************************************************************************************************
*/





void         BSP_Ser_Init   (void);

CPU_INT08U   BSP_Ser_RdByte (void);


void         BSP_Ser_WrByte (CPU_INT08U   c);
void         BSP_Ser_WrStr  (CPU_CHAR    *p_str);

void         BSP_Ser_Printf (CPU_CHAR     *format,
                             ...);
                             
void gui_printf(int line,char  *format, ...);
void  my_printf (char *format, ...);

void Ser_RxTask(void);



char my_getchar(void);

char my_getchar_t(unsigned int timeout, uint8_t *is_timeout);

/*
*********************************************************************************************************
*                                              MODULE END
*********************************************************************************************************
*/

#endif
